﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BUS;
using DTO;

namespace GUI
{
    public partial class frmQuanLyThuHop : Form
    {
        public frmQuanLyThuHop()
        {
            InitializeComponent();
        }
        public static string Manv;
        private void frmQuanLyThuHop_Load(object sender, EventArgs e)
        {
            if (Secssion.Sec.Count <= 0)
                return;

            NhanVienBUS bus = new NhanVienBUS();
            NhanVienDTO nv = bus.LayThongTinNV(Secssion.Sec[0].ToString()); //
            lbNV.Text = nv.TenNV;
            Manv = nv.MaNV;
            LayDanhSach();

        }
        void LayDanhSach()
        {
            List<ChuyenThuDTO> ds = new List<ChuyenThuDTO>();
            ChuyenThuBUS bus = new ChuyenThuBUS();
            ds = bus.LayThongTinCT();
            int stt = 1;
            dgvDanhSach.Rows.Clear();
            for (int i = 0; i <= ds.Count - 1; i++)
            {
                // LẠI CÓ THỂ VIẾT NHƯ THẾ NÀY  
                // NẾU TÌNH TRẠNG  "Hoàn tất " có mã là 4 thì sao
                // thử cách này đi
                TinhTrangBUS bustt = new TinhTrangBUS();
                string TinhTrang = bustt.TenTinhTrang(ds[i].MATT);

                //string TinhTrang = "Đang thu";
                //if (ds[i].MATT == 5)
                //    TinhTrang = "Hoàn tất";

                dgvDanhSach.Rows.Add(stt,ds[i].MaDH, ds[i].MaMA, ds[i].NgayGioTH, TinhTrang, ds[i].MaNVTH, ds[i].SLHopThu, ds[i].SLHopThieu);
                stt++;
            }
        }

        private void btThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btThu_Click(object sender, EventArgs e)
        {
            if (Secssion.Sec.Count <= 0)
            {
                MessageBox.Show("Bạn chưa đăng nhập để thực hiện chức năng này");
                return;
            }
            ThuHop();
        }

        void ThuHop()
        {
            if (txtMaDH.Text == "")
                MessageBox.Show("Chưa Nhập MaDH!" + MessageBoxIcon.Error);
            else if (txtSLHopThu.Text == "")
                MessageBox.Show("Chưa nhập số lượng hộp thu!" + MessageBoxIcon.Error);
            else if (dateTimeNgayThu.Text == "")
                MessageBox.Show("Chưa chọn ngày thu!" + MessageBoxIcon.Error);
            else
            {
                ChuyenThuDTO ctDTO = new ChuyenThuDTO();
                ctDTO.MaDH = txtMaDH.Text.Trim();
                ctDTO.MaMA = txtMaMA.Text.Trim();
                ctDTO.MaNVTH = Manv;
                ctDTO.SLHopThieu = int.Parse(txtSLHopThieu.Text.Trim());
                ctDTO.SLHopThu = int.Parse(txtSLHopThu.Text.Trim());
                ctDTO.NgayThu = dateTimeNgayThu.Text.Trim();

                ChuyenThuBUS ctBUS = new ChuyenThuBUS();
                int res = ctBUS.CapNhatSoHopThieu(ctDTO);
                if (res >0 )
                {
                    MessageBox.Show("Cập nhật thành công!");
                    LayDanhSach();
                }
                else
                    MessageBox.Show("cập nhật thất bại !");
            }
        }

        private void btnLietKe_Click(object sender, EventArgs e)
        {
            ChuyenThuDTO ctDTO = new ChuyenThuDTO();
            ctDTO.NgayThu = dtimeBatDau.Text.Trim();
            ctDTO.NgayKetThuc = dtimeBatDau.Text.Trim();
            ChuyenThuBUS ctBUS = new ChuyenThuBUS();
            List<ChuyenThuDTO> ds = new List<ChuyenThuDTO>();
            ds = ctBUS.LietKeDonHangTheoNgay(ctDTO);
            int stt = 1;
            dgvDanhSach.Rows.Clear();
            for (int i = 0; i <= ds.Count - 1; i++)
            {
                // LẠI CÓ THỂ VIẾT NHƯ THẾ NÀY  
                // NẾU TÌNH TRẠNG  "Hoàn tất " có mã là 4 thì sao

                // thử cách này đi
                TinhTrangBUS bustt = new TinhTrangBUS();
                string TinhTrang = bustt.TenTinhTrang(ds[i].MATT);

                //string TinhTrang = "Đang thu";
                //if (ds[i].MATT == 5)
                //    TinhTrang = "Hoàn tất";

                dgvDanhSach.Rows.Add(stt, ds[i].MaDH, ds[i].MaMA, ds[i].NgayGioTH, TinhTrang, ds[i].MaNVTH, ds[i].SLHopThu, ds[i].SLHopThieu);
                stt++;
            }
               
        }

        private void btnXemHet_Click(object sender, EventArgs e)
        {
            LayDanhSach();
        }

        private void dgvDanhSach_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int irow = 0;
            irow = e.RowIndex;
            if (irow < 0)
                return;
            txtMaDH.Text = dgvDanhSach.Rows[irow].Cells[1].Value.ToString();
            txtMaMA.Text = dgvDanhSach.Rows[irow].Cells[2].Value.ToString();
            txtSLHopThu.Text = dgvDanhSach.Rows[irow].Cells[6].Value.ToString();
            txtSLHopThieu.Text = dgvDanhSach.Rows[irow].Cells[7].Value.ToString();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (txtMaDH.Text == "")
                MessageBox.Show("Chưa Nhập MaDH!" + MessageBoxIcon.Error);
            else if (txtSLHopThu.Text == "")
                MessageBox.Show("Chưa nhập số lượng hộp thu!" + MessageBoxIcon.Error);
            else if (dateTimeNgayThu.Text == "")
                MessageBox.Show("Chưa chọn ngày thu!" + MessageBoxIcon.Error);
            else
            {
                ChuyenThuDTO ctDTO = new ChuyenThuDTO();
                ctDTO.MaDH = txtMaDH.Text.Trim();
                ctDTO.MaMA = txtMaMA.Text.Trim();
                ctDTO.MaNVTH = Manv;
                ctDTO.SLHopThieu = int.Parse(txtSLHopThieu.Text.Trim());
                ctDTO.SLHopThu = int.Parse(txtSLHopThu.Text.Trim());
                ctDTO.NgayThu = dateTimeNgayThu.Text.Trim();

                ChuyenThuBUS ctBUS = new ChuyenThuBUS();
                int res = ctBUS.ThemChuyenThu(ctDTO);
                if (res > 0)
                {
                    MessageBox.Show("Thêm thành công!");
                    LayDanhSach();
                }
                else
                    MessageBox.Show("Thêm thất bại !");
            }
        }
    }
}
